package com.demo.java.OD151_200.OD179;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【九宫格按键输入】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145862018
 */
public class OdMain {
    public static void main(String[] args) {
        // 读取输入
        Scanner scanner = new Scanner(System.in);
        char[] chars = scanner.nextLine().toCharArray();

        // 定义数字到字母的映射
        String[] strings = {",.", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};

        boolean flag = true; // 标记当前是否处于英文输入模式
        StringBuilder result = new StringBuilder(); // 用于存储输出结果

        for (int i = 0; i < chars.length; i++) {
            char currentChar = chars[i];

            if (currentChar == '#') {
                flag = false; // 切换到英文输入模式
            } else if (flag && currentChar != '/') {
                result.append(currentChar); // 如果是英文字符，直接添加到结果中
            } else if (currentChar == '0') {
                result.append(" "); // 0对应空格
            } else {
                int count = 0; // 用来计数连续相同的数字

                // 计算连续相同的数字个数
                while (i < chars.length - 1 && chars[i] == chars[i + 1]) {
                    i++;
                    count++;
                }

                // 如果不是斜杠符号，则进行字符选择
                if (currentChar != '/') {
                    String str = strings[currentChar - '1']; // 获取该数字对应的字母组
                    int index = count % str.length(); // 根据连续的数字个数选择对应的字母
                    result.append(str.charAt(index)); // 添加选中的字母
                }
            }
        }

        // 输出结果
        System.out.println(result.toString());
    }
}